home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / DEF / Define / Rhythm / def-rhythm next >
Lisp/Scheme  |  1998-10-23  |  2KB  |  39 lines

  1. def-rhythm def-description &rest def-descriptions
  2.  
  3. def-rhythm defines an instrument's rhythms and symbol structure. Def-description begins with the instrument name, followed by the resolution, rhythm-string and the fill-pattern.
  4.  
  5. (def-rhythm
  6. ;               1               2
  7. ;               !---.---!---.---!---.---!---.---!   fill
  8. bass   '1/16   "-   -   -   -   -   -   -   -   "    (a)
  9. snare  '1/8    "    -- -  - - --"                    (b)
  10. hihat  '1/16   "--------------------------------"    (g)
  11. )
  12.  
  13. This example defines a bass, snare and hihat; all 2 bars long (note that the snare resolution is 1/8). Bass is filled with a, which represents the bass drum. Snare is filled with b and hihat is filled with g. The rhythm-string length is not restricted. In normal use, 2 or 4 bars of 1/16 notes is only needed to express many patterns in pop music.
  14.  
  15. The resolution 1/16 means that each column represents a 1/16 note. In the rhythm-string, " " (space) describes a rest and "-" describes a note. The note value is taken from the fill-pattern sequentially. The user can add comment lines to clarify the overall description lengths, for example, bars. This function is normally used with compile-song, as most rhythms and symbol definitions can be made easily with it. The symbols can also be written in the rhythm-string as they are. Function calls can be used inside the eval form. This evaluates the list and returns a symbol list, the values of which are then bound to the rhythm string. The resolution value can be replaced by a variable containing a list of length values.
  16.  
  17. Extensive Examples
  18.  
  19. (setq symbols '(a b c))
  20. (setq rhythm '(1/2. 1/3.. 1/4...))
  21.  
  22. (def-rhythm  ; other possibilities
  23. ;               1               2
  24. ;               !---.---!---.---!  fill
  25. solo   '1/16   "-- ---- - - -  -"  (a b (-1 c))
  26. riff1  '1/8    "- - -- ---- -- -"  symbols
  27. riff2  '1/16   "-- -- ---- --- -"  (eval (symbol-trim 8 symbols))
  28. b&s    '1/16t  "a   b   a   b   "  nil
  29. complex rhythm "- - --- -- - ---"  (a)
  30.  
  31. (def-rhythm  ; a simple drum set
  32. ;               1               2
  33. ;               !---.---!---.---!  fill
  34. bass   '1/16   "-   -   -   -   "  (a)  ; in mt-32 a is bass drum
  35. snare  '1/16   "  - - --  - - - "  (b)  ; and b is snare
  36. hihat1 '1/16   "ggggfgggggfggggg"  nil  ; hihat close and open
  37. hihat2 '1/16   "  g   g   g  ggg"  nil  ; another hihat
  38. )